package baiqi.sishen.community.utils;

import java.util.ArrayList;

/**
 * 分页页码 转换器
 * @author 兕神
 * @version 1.0
 * DateTime: 2023/5/2
 */

public class NavigatePagesUtil {
    /**
     * 获取导航页数 保持pageNum 前后三个
     *
     * @param page      当前页数
     * @param totalPage 总页数
     * @return 返回一页码的int集合
     */
    public static int[] getNavigatePages(Integer page, Integer totalPage) {
        if (page > totalPage) {
            page = totalPage;
        } else if (page < 1) {
            page = 1;
        }
        ArrayList<Integer> pages = new ArrayList<>();
        pages.add(page);
        //保持页面的左右三个页码
        for (int i = 1; i < 4; i++) {
            if (page - i > 0) {
                pages.add(0, page - i);
            }
            if (page + i <= totalPage) {
                pages.add(page + i);
            }
        }
        int[] ints = new int[pages.size()];
        for (int i = 0; i < pages.size(); i++) {
            ints[i] = pages.get(i);
        }
        return ints;
    }
}
